package com.smart.manage.domain;

import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.smart.common.annotation.Excel;
import com.smart.common.core.domain.BaseEntity;

/**
 * 就诊管理对象 tb_doctor_consultation
 * 
 * @author lingyao
 * @date 2025-02-19
 */
public class DoctorConsultation extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 就诊ID */
    private Long id;

    /** 关联的问诊记录ID */
    @Excel(name = "关联的问诊记录ID")
    private Long patientsConsultationId;

    /** 医生ID */
    @Excel(name = "医生ID")
    private Long doctorId;

    /** 病情分析 */
    @Excel(name = "病情分析")
    private String diagnosis;

    /** 治疗方案 */
    @Excel(name = "治疗方案")
    private String treatmentPlan;

    /** 关联的药品ID，如果包含多个药品，则不同药品ID之间用逗号分隔 */
    @Excel(name = "关联的药品ID")
    private String drugId;

    /** 生活建议 */
    @Excel(name = "生活建议")
    private String lifestyleAdvice;

    /** 需要患者补充的信息 */
    @Excel(name = "需要患者补充的信息")
    private String additionalInformationNeeded;

    /** 诊断状态（1表示已确诊，0表示待诊断） */
    @Excel(name = "诊断状态", readConverterExp = "0：待接诊，1：问诊中，2：待补充资料，3：待确诊，4：已确诊，5：已完成，6：已取消")
    private Long consultationStatus;

    /** 就诊人问诊信息信息 */
    private List<TbPatientsConsultation> tbPatientsConsultationList;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPatientsConsultationId(Long patientsConsultationId) 
    {
        this.patientsConsultationId = patientsConsultationId;
    }

    public Long getPatientsConsultationId() 
    {
        return patientsConsultationId;
    }
    public void setDoctorId(Long doctorId) 
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId() 
    {
        return doctorId;
    }
    public void setDiagnosis(String diagnosis) 
    {
        this.diagnosis = diagnosis;
    }

    public String getDiagnosis() 
    {
        return diagnosis;
    }
    public void setTreatmentPlan(String treatmentPlan) 
    {
        this.treatmentPlan = treatmentPlan;
    }

    public String getTreatmentPlan() 
    {
        return treatmentPlan;
    }
    public void setLifestyleAdvice(String lifestyleAdvice) 
    {
        this.lifestyleAdvice = lifestyleAdvice;
    }

    public String getDrugId() {
        return drugId;
    }

    public void setDrugId(String drugId) {
        this.drugId = drugId;
    }

    public String getLifestyleAdvice()
    {
        return lifestyleAdvice;
    }

    public String getAdditionalInformationNeeded() {
        return additionalInformationNeeded;
    }

    public void setAdditionalInformationNeeded(String additionalInformationNeeded) {
        this.additionalInformationNeeded = additionalInformationNeeded;
    }

    public List<TbPatientsConsultation> getTbPatientsConsultationList()
    {
        return tbPatientsConsultationList;
    }

    public void setTbPatientsConsultationList(List<TbPatientsConsultation> tbPatientsConsultationList)
    {
        this.tbPatientsConsultationList = tbPatientsConsultationList;
    }

    public Long getConsultationStatus() {
        return consultationStatus;
    }

    public void setConsultationStatus(Long consultationStatus) {
        this.consultationStatus = consultationStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("patientsConsultationId", getPatientsConsultationId())
            .append("doctorId", getDoctorId())
            .append("diagnosis", getDiagnosis())
            .append("treatmentPlan", getTreatmentPlan())
            .append("lifestyleAdvice", getLifestyleAdvice())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("tbPatientsConsultationList", getTbPatientsConsultationList())
            .append("consultationStatus", getConsultationStatus())
            .append("additionalInformationNeeded", getAdditionalInformationNeeded())
            .toString();
    }
}
